// Global style reset
@mixin global-reset {
  html, body, div, span, applet, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  a, abbr, acronym, address, big, cite, code,
  del, dfn, em, font, img, ins, kbd, q, s, samp,
  small, strike, strong, sub, sup, tt, var,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td {
    @include reset-box-model;
    @include reset-font;
  }
  *:focus {
    @include reset-focus;
  }
  body {
    @include reset-body;
  }
  ol, ul {
    @include reset-list-style;
  }
  table {
    @include reset-table;
  }
  caption, th, td {
    @include reset-table-cell;
  }
  q, blockquote {
    @include reset-quotation;
  }
  img a {
    @include reset-image-anchor-border;
  }
}

// Reset all elements within some selector scope.To reset the selector itself,
// mixin the appropriate reset mixin for that element type as well. This could be
// useful if you want to style a part of your page in a dramatically different way.
@mixin nested-reset {
  div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
  pre, a, abbr, acronym, address, code, del, dfn, em, img,
  dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr {
    @include reset-box-model;
    @include reset-font;
  }
  table {
    @include reset-table;
  }
  caption, th, td {
    @include reset-table-cell;
  }
  q, blockquote {
    @include reset-quotation;
  }
  img a {
    @include reset-image-anchor-border;
  }
}

// Mixins partials
@mixin reset-box-model {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

@mixin reset-font {
  font: {
    weight: inherit;
    style: inherit;
    size: 100%;
    family: inherit;
  };
  vertical-align: baseline;
}

@mixin reset-focus {
  outline: 0;
}

@mixin reset-body {
  line-height: 1em;
  color: black;
  background: white;
}

@mixin reset-list-style {
  list-style: none;
}

@mixin reset-table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}

@mixin reset-table-cell {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

@mixin reset-quotation {
  quotes: "" "";
  &:before, &:after {
    content: "";
  }
}

@mixin reset-image-anchor-border {
  border: none;
}
